var menuDAO = require('../models/menuDAO')
var bcrypt = require('bcrypt')
var menuController = {
    //TOP榜单
    getAllTop: function (req, res) {
        menuDAO.getAllTop(function (err, results) {
            if (err) {
                res.json({ code: 500, data: results.affectedRows, msg: 'Top榜信息查询失败！' })
            } else {
                //检查该操作对数据表是否造成影响
                if (results.length == 0) {
                    res.json({ code: 200, data: results.affectedRows, msg: 'Top榜信息查询失败！' })
                } else {
                    res.json({ code: 200, data: results, msg: 'Top榜信息查询成功！' })
                }
            }
        })
    },

    //榜单详情
    getTopDetail: function (req, res) {
        var mealId = req.params.mealId
        menuDAO.getTopDetail(mealId, function (err, results) {
            if (err) {
                res.json({ code: 500, data: results.affectedRows, msg: 'Top榜详细信息查询失败！' })
            } else {
                //检查该操作对数据表是否造成影响
                if (results.length == 0) {
                    res.json({ code: 200, data: results.affectedRows, msg: 'Top榜详细信息查询失败！' })
                } else {
                    res.json({ code: 200, data: results, msg: 'Top榜详细信息查询成功！' })
                }
            }
        })
    },

    //文章标题图片
    getPeople: function (req, res) {
        menuDAO.getPeople(function (err, results) {
            if (err) {
                res.json({ code: 500, data: results.affectedRows, msg: '获取文章信息失败！' })
            } else {
                //检查该操作对数据表是否造成影响
                if (results.length == 0) {
                    res.json({ code: 200, data: results.affectedRows, msg: '获取文章信息失败！' })
                } else {
                    res.json({ code: 200, data: results, msg: '获取文章信息成功！' })
                }
            }
        })
    },

    //文章具体内容
    getPeopleDetail: function (req, res) {
        var peopleId = req.params.peopleId
        menuDAO.getPeopleDetail(peopleId, function (err, results) {
            if (err) {
                res.json({ code: 500, data: results.affectedRows, msg: '获取文章具体内容失败！' })
            } else {
                //检查该操作对数据表是否造成影响
                if (results.length == 0) {
                    res.json({ code: 200, data: results.affectedRows, msg: '获取文章具体内容失败！' })
                } else {
                    res.json({ code: 200, data: results, msg: '获取文章具体内容成功！' })
                }
            }
        })
    },
    //查看点赞表是否有点赞
    selmenulike: function (req, res) {
        menuDAO.mealLike(req.user, function (err, results) {
            if (err) {
                res.json({ code: 500, msg: '该用户查询数据库错误！' })
            } else {
                if (results.length >= 0) {
                    var mealId = req.params.mealId
                    if (results.length != 0) {
                        for (var i = 0; i < results.length; i++) {
                            if (mealId == results[i].tomealId) {
                                res.json({ code: 200, data: 0, msg: '该用户点赞过这个套餐！' });
                            }
                        }
                    }
                } else {
                    res.json({ code: 200, data: results, msg: '获取数据库点赞记录失败！' })
                }

            }
        })
    },
    //增加套餐点赞数
    addLikeNum: function (req, res) {
        menuDAO.mealLike(req.user, function (err, results) {
            if (err) {
                res.json({ code: 500, msg: '该用户查询数据库错误！' })
            } else {
                if (results.length >= 0) {
                    var fs = 0;
                    var flag = 1;
                    var mealId = req.body.mealId
                    if (results.length != 0) {
                        for (var i = 0; i < results.length; i++) {
                            if (mealId == results[i].tomealId) {
                                res.json({ code: 200, data: 0, msg: '该用户点赞过这个套餐！' });
                                flag = 0;
                            }
                        }
                    } else if (results.length == 0) {
                        fs = 1;
                    }
                    if (flag == 1 || fs == 1) {
                        menuDAO.insertLike({ mealId: mealId, user: req.user }, function (err, resinsert) {
                            if (err) {
                                res.json({ code: 500, msg: '在数据库中插入点赞记录失败！' })
                            } else {
                                if (resinsert.affectedRows == 1) {
                                    menuDAO.addLikeNum(mealId, function (err, resadd) {
                                        if (err) {
                                            res.json({ code: 500, msg: '数据库点赞增加错误！' })
                                        } else {
                                            if (resadd.affectedRows == 1) {
                                                res.json({ code: 200, data: resadd.affectedRows, msg: '点赞成功！' })
                                            } else {
                                                res.json({ code: 200, data: resadd.affectedRows, msg: '点赞失败！' })
                                            }
                                        }
                                    })
                                } else {
                                    res.json({ code: 200, data: resinsert.affectedRows, msg: '插入点赞记录失败！' })
                                }
                            }
                        })
                    }
                } else {
                    res.json({ code: 200, data: results, msg: '获取数据库点赞记录失败！' })
                }

            }
        })
    },
    //取消套餐点赞
    delLikeNum: function (req, res) {
        menuDAO.mealLike(req.user, function (err, results) {
            if (err) {
                res.json({ code: 500, msg: '该用户查询数据库错误！' })
            } else {
                if (results.length != 0) {
                    var mealId = req.body.mealId
                    var flag = 1
                    for (var i = 0; i < results.length; i++) {
                        if (mealId == results[i].tomealId) {
                            menuDAO.deleteLike({ mealId: mealId, user: req.user }, function (err, resdelete) {
                                if (err) {
                                    res.json({ code: 500, msg: '在数据库中删除点赞记录失败！' })
                                } else {
                                    if (resdelete.affectedRows == 1) {
                                        menuDAO.delLikeNum(mealId, function (err, resdel) {
                                            if (err) {
                                                res.json({ code: 500, msg: '数据库点赞取消失败！' })
                                            } else {
                                                if (resdel.affectedRows == 1) {
                                                    res.json({ code: 200, data: resdel.affectedRows, msg: '取消点赞成功！' })
                                                } else {
                                                    res.json({ code: 200, data: resdel.affectedRows, msg: '取消点赞失败！' })
                                                }
                                            }
                                        })
                                    } else {
                                        res.json({ code: 200, data: resdelete.affectedRows, msg: '删除点赞记录失败！' })
                                    }
                                }
                            })
                            flag = 0
                        }
                    }
                    if (flag == 1) {
                        res.json({ code: 200, data: results.length , msg: '该用没有点赞过这个套餐！' });
                    }
                } else {
                    res.json({ code: 200, data: results.length, msg: '该用户没有点赞记录！' })
                }
            }
        })
    }
}
module.exports = menuController